Random number generators generate random numbers. While the numbers produced may be pseudo-random, a set of random numbers may have repeating values. Some applications may desire non-repeating random numbers. Random numbers are numbers. Some applications may desire non-repeating random character strings or combined number-string values. Generating a random number takes a period of time. When a large data set of random numbers is required, the period of time may be correspondingly large. Checking a large data set to insure there are only non-repeating values may increase the period of time.
Data masking is one application where non-repeating random numbers and/or values (e.g., character strings) may be desired for large data sets. Data masking seeks to hide sensitive information with similar looking but false data. Consider testing a database application that processes social security numbers and automobile license plate numbers. A statewide table may include millions of non-repeating records. It may be desired to perform the testing on similar looking but false data rather than on the original sensitive data. The mask values required for this application would need to meet constraints concerning uniqueness, character sets appropriate to the language used, formatting rules, and so on. However, conventional random number generators may not be configurable to produce these types of mask values.